sequenceDiagram
    Note over Content timeline: [[mapping]] is null<br>[[pending_map]] is null
    Note over Device timeline: [[internal state]] is "available"
    Content timeline ->> Device timeline: mapAsync()
    Note over Content timeline: [[mapping]] is null<br>[[pending_map]] is non-null
    Note over Device timeline: [[internal state]] is "unavailable"
    Device timeline ->> Content timeline: mapAsync() response
    Note over Device timeline: [[internal state]] is "unavailable"
    Note over Content timeline: [[mapping]] is non-null<br>[[pending_map]] is null
    Content timeline ->> Device timeline: unmap()
    Note over Content timeline: [[mapping]] is null<br>[[pending_map]] is null
    Note over Device timeline: [[internal state]] is "available"
